#ifndef __DUNE_EQUATION_BASE_HH__
#define __DUNE_EQUATION_BASE_HH__
#include <dune/constant-unit/constant.hh>
#include <vector>
#include <string>
#include <map>
#include <dune/common/parametertreeparser.hh>

namespace Dune {
  namespace Equation {
    class EquationBase {
    public:
      EquationBase();
      virtual ~EquationBase();
      virtual void get_equation_flux(int whichdim, double* fequ, double* var)=0;
      virtual double local_max_eigenvalue(double* var)=0; 
      virtual void set_equ_paras(Dune::ParameterTree& ptree)=0;
      virtual void set_equ_para(std::string key, double value);
      std::map<std::string,double> para;
      std::vector<std::string> varname;
    };
  }
}
#endif  // __DUNE_EQUATION_BASE_HH__
